In recent years the manufacturing industry has moved towards automated procedural evaluation and testing of both the manufactured products and the processes utilized to manufacture them. This move is also driven by the goal to create a user friendly tool that would provide automated evaluation tools for the various departments involved in the manufacturing and planning process, such as research and development (R&D), validation, verification, and support departments to allow process evaluation in addition to the automated hardware and software product testing. Therefore the shift in focus has expanded the use of automated testing and evaluation tools by making them available to the other departments associated with the manufacturing industry.
Automated testing consists of creating sequences of reusable interactions with test and measurement equipment and then running them on a product to test its various features. Generally, the process of creating test sequences can be complex and often requires programming skills. Currently, test engineers use a number of interaction styles to build test sequences which rely on menus for selecting the relevant functions and testing elements and primarily on command language programming to define the test protocol or sequence.
Various applications use direct manipulation and have introduced a graphical approach to data flow for the purpose of undertaking test and measurements related to manufactured products. For example, a user may create processes or diagrams by placing different shapes representing objects of interest and connects them using connectors, as in a flow chart. The connectors are usually represented by lines that can be drawn by the user or automatically created by the system. However, such lines connected test representations are limiting as a user cannot readily manipulate, move or amend connecting lines without reworking the complete process. This limitation is particularly evident in that when attempting to manipulate the graphical process as the connectors moves with its associated shape, not allowing quick and seamless amendments of a small portion within the flow chart. Accordingly, such interaction demands that a user invest time, resources and thought into recreating the flow chart merely to change a single member of the flow chart, while managing both shapes and their respective connectors.
Furthermore, currently available graphical tools are only useful to define operations of systems by connection of inputs and outputs (connector line), however, they become cumbersome when used to sequence and coordinate between procedures; therefore all currently available sequencers are not truly graphical.
The solutions offered today include programming (graphical or textual) tools for writing the drivers and creating the interfaces for operating and creating the test steps, that leads to, complex operations that may be required immediately require developer skills to be implemented correctly. Furthermore, unraveling the interrelated links between various connections within a flow chart is a difficult and often burdensome process when attempting to understand the testing protocol using state of the art workflow charts.
In fact if the same testing development assailment will be done by 2 different engineers, even with the same set of tools, the output will be different in means of UI, data collection, result data format, test flow format and it's documentation, test efficiency and coverage,
Furthermore, solutions offered to date provide a tree like flow configuration where each step is a unidirectional black box. The tree format is limited to a one path vertical display, preventing a natural flow chart display.
Use of the current tools to create the flow chart is inconvenient to the user since the main issue in creating components is defining logic, inputs and outputs. This is the main reason for connection lines between the different objects, whether if only for input and output or for triggering events. The test flow is actually a sequence where the main interest is to set the correct order of the steps and to define the different flows, logics and branches of steps.